Python让Excel飞起来—批量处理工作薄和工作表

目录

案例01 批量新建并保存工作薄

举一反三 批量新建并关闭工作薄

案例02 批量打开一个文件夹下的所有工作薄

举一反三 列出文件夹下所有文件和子文件夹的名称

案例03 批量重命名一个工作薄中的所有工作表

 举一反三  批量重命名一个工作薄中的部分工作表

 案例04 批量重命名多个工作薄

举一反三 批量重命名多个工作薄中的同名工作表

 案例05 在多个工作部中批量增加新的工作表

举一反三 在多个工作簿中批量删除工作表

案例06 批量打印工作薄

举一反三 批量打印多个工作薄中的指定工作表

案例07 将一个工作薄的所有工作表批量复制到其他工作薄

举一反三  将某个工作表的数据批量复制到其他工作薄的指定工作表中

案例08  按条件将一个工作表拆分为多个工作薄

举一反三 按条件将一个工作表拆分为多个工作表

案例09 批量合并多个工作簿中的同名工作表

举一反三 将工作薄中名称有规律的工作表合并到一个工作表中


例01 批量新建并保存工作薄

import xlwings as xw
app=xw.App(visible=False,add_book=False)
for i in range(6):
    workbook=app.books.add() #新建工作薄
    workbook.save(f'C:\\Users\\Administrator\\Desktop\\22\\text{i}.xlsx')

#f的作用是格式化字符串~实现类似于format的方法(就是print里的format方法)
#print(f'My hovercraft is full of {animals}.')

举一反三 批量新建并关闭工作薄

import xlwings as xw
app=xw.App(visible=True,add_book=False)
for i in range(6):
    workbook=app.books.add() #新建工作薄
    workbook.save(f'C:\\Users\\Administrator\\Desktop\\22\\text{i}.xlsx')
    workbook.close()
app.quit()

案例02 批量打开一个文件夹下的所有工作薄

import xlwings as xw
import os
file_path='C:\\Users\\Administrator\\Desktop\\22' #给出文件所在的路径文件夹名称
file_list=os.listdir(file_path)  #列出路径下所有文件和文件夹的名称

app=xw.App(visible=True,add_book=False) #启动excel程序
for term in file_list:
    if os.path.splitext(term)[1]=='.xlsx':
        app.books.open(file_path+'\\'+term)

举一反三 列出文件夹下所有文件和子文件夹的名称

import os
file_path='C:\\Users\\Administrator\\Desktop\\22' #给出文件所在的路径文件夹名称
file_list=os.listdir(file_path)  #列出路径下所有文件和文件夹的名称
for team in file_list:
    print(team)

'''
text0.xlsx
text1.xlsx
text2.xlsx
text3.xlsx
text4.xlsx
text5.xlsx
'''

案例03 批量重命名一个工作薄中的所有工作表

import xlwings as xw
import os
app=xw.App(visible=False)
workbook=app.books.open(r'C:\Users\Administrator\Desktop\22\统计表.xlsx') #打开工作表
worksheets=workbook.sheets #获取工作薄中所有工作表
for i in range(len(worksheets)):
    worksheets[i].name=worksheets[i].name.replace('销售','') #重命名文件夹
workbook.save(r'C:\Users\Administrator\Desktop\22\统计表2.xlsx')  #重命名后另存
app.quit()    

 举一反三  批量重命名一个工作薄中的部分工作表

import xlwings as xw
import os
app=xw.App(visible=False)
workbook=app.books.open(r'C:\Users\Administrator\Desktop\22\统计表.xlsx') #打开工作表
worksheets=workbook.sheets #获取工作薄中所有工作表
for i in range(len(worksheets))[:5]:  #通过切片器来选中部分工作表
    worksheets[i].name=worksheets[i].name.replace('销售','') #重命名文件夹
workbook.save(r'C:\Users\Administrator\Desktop\22\统计表3.xlsx')  #重命名后另存
app.quit() 

 案例04 批量重命名多个工作薄

import os
file_path=r'C:\Users\Administrator\Desktop\22\产品销售表' #给出文件所在的路径文件夹名称
file_list=os.listdir(file_path)  #列出路径下所有文件和文件夹的名称

old_book_name='销售表'  #给出工作薄中需要替换的旧关键字名
new_book_name='分部产品销售表'  #给出工作薄中需要替换的新关键字名

for i in file_list:
    if i.startswith('~$'):  #判断是否有~$开头的临时文件
        continue   #如果有,则跳过
    new_file=i.replace(old_book_name,new_book_name) #执行查找和替换,生成新的工作薄名
    old_file_path=os.path.join(file_path,i)  #构造需要重命名工作薄的完整路径
    new_file_path=os.path.join(file_path,new_file)  #构造需要重命名后工作薄的完整路径
    os.rename(old_file_path,new_file_path)   

os.path.join()是os模块中的函数,用于把文件夹名和文件名拼接成一个完整路径,该函数的语法格式和常用的函数定义如下:

举一反三 批量重命名多个工作薄中的同名工作表

将下面表中的所有sheet1工作表重命名员工信息表

  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值